<?php
//四川网通
error_reporting(0); 

$dsdbhost = 'localhost';			// DS数据库服务器
$dsdbuser = 'root';			// DS数据库用户名
$dsdbpw = '951753';				// DS数据库密码
$dsdbname = 'count';			// DS数据库名
$localname='fenghuolun';			// DS数据库名
$dspconnect=1;

$local = new dbstuff;
$local->connect($dsdbhost, $dsdbuser, $dsdbpw, $localname, $dspconnect);
$dsid = $local;
//localhash_1数据库专用链接


$tracker = new dbstuff;
$tracker->connect($dsdbhost, $dsdbuser, $dsdbpw, $dsdbname, $dspconnect);
$tra_db = $tracker;
//count数据库专用链接
function getConnectNum()
{	
	global $tra_db,$dsid;
	/*****************************************************************************/
	//四川网通
	//抓取新种子数

	$times=3600;
	$newtime=explode(" ",microtime());
	$ntime=$newtime[1];
	//echo "当前时间:".$ctime;
	$ctime=$ntime-$times;	
	//echo "<br>减去后的时间:".$ctime;
	$query=$tra_db->query("select * from c_torrent where ctime > $ctime and ctime < $ntime order by ctime desc ");		
	//echo "select * from c_torrent where ctime > $ctime and ctime < $ntime order by ctime desc ";
	$strnum="";
	$strto=array();
	while($row=$tra_db->fetch_array($query))
	{
		$strto[]=$row['ccount'];
		//if(!empty($row['ccount'])) 
		//	$strnum.=$row['ccount']."\n";
	}
	if(!empty($strto[0]) && !empty($strto[1]) )
		$strnum=$strto[0]."\n".$strto[1];
	//写入最新数据到../cacti/host/connect.txt文件中
	echo "抓取新种子数当前数据：".$strnum;
	$redfile="/srv/www/htdocs/cacti/host/new_torrent.txt";//字典文件
	/*$fp=fopen($redfile,'wb+');
	if($fp)
		{
			fwrite($fp,$strnum);
			fclose($fp);
		}

	*/
	
	/*****************************************************************************/
	//四川网通
	//tracker和用户请求数
//这段OK
/*	$msg=5;
	$host=array('124.161.63.229:14796',
		'124.161.63.229:14797',
		'124.161.63.230:14796',
		'124.161.63.230:14797',		
	);
	$tral="";
	$usel="";
	//$kl=0;
	foreach($host as  $value)
	{
		$host=explode(':',$value);		
		$h1=$host[0];
		$p1=$host[1];
		$num="";
		$newhost="$h1:$p1";
		$newtime=explode(" ",microtime());
		$ctime=$newtime[1];
		if($num=sendin($msg,$h1,$p1))
		{
			//print_r($num);
			$str=explode(',',$num);//$num='tracker_num=0,web_num=0',得到数据格式
			$trastr=$str[0];//此为tracker_num
			$reqstr=$str[1];//此为web_num
			$tranum=explode('=',$trastr);
			$reqnum=explode('=',$reqstr);
			$tranum=$tranum[1];
			$reqnum=$reqnum[1];	
			$tra_db->query("insert into c_ues(ctime,usercount,tracount,host) values ('".$ctime."','".$reqnum."','".$tranum."','".$newhost."'); ");		
				$reql.=trim($reqnum)."\n";
				$tral.=trim($tranum)."\n";			
		}
	}
	//写入最新数据到../cacti/host/connect.txt文件中
	$redfile="/srv/www/htdocs/cacti/host/redirect.txt";//字典文件
	$fp=fopen($redfile,'wb+');
	if($fp)
		{
			fwrite($fp,$tral);
			fclose($fp);
		}
		
	$reqfile="/srv/www/htdocs/cacti/host/request.txt";//字典文件
	$fp=fopen($reqfile,'wb+');
	if($fp)
		{
			fwrite($fp,$reql);
			fclose($fp);
		}	
	echo "<br>tracker数最终数据：{$tral}<br>";
	echo "用户请求数最终数据：{$reql}";
	
*/	/*****************************************************************************/

	
}	
//调用一次这个函数
getConnectNum();
//发送协议函数
function sendin($msg,$host,$port)
	{		
			$str="";
			$fp=fsockopen($host,$port,$errno,$errstr,1);
			if(!$fp)
			{
				 echo   'sorry!';
			}
			else
			{
				fwrite($fp,$msg);
			}
			while (!feof($fp)) 
			{
					$str.=fread($fp,100);
					//echo $str;
			}  		
		return $str;
	}

class dbstuff {
	var $querynum = 0;
	var $link;
	function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $halt = TRUE) {
		if($pconnect) {
			if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {
				$halt && $this->halt('Can not connect to MySQL server');
			}
		} else {
			if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw, 1)) {
				$halt && $this->halt('Can not connect to MySQL server');
			}
		}

		if($this->version() > '4.1') {
			global $charset, $dbcharset;
			if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
				$dbcharset = str_replace('-', '', $charset);
			}

			if($dbcharset) {
				@mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);
			}
			if($this->version() > '5.0.1') {
				@mysql_query("SET sql_mode=''", $this->link);
			}
		}

		if($dbname) {
			@mysql_select_db($dbname, $this->link);
		}

	}

	function select_db($dbname) {
		return mysql_select_db($dbname, $this->link);
	}

	function fetch_array($query, $result_type = MYSQL_ASSOC) {
		return mysql_fetch_array($query, $result_type);
	}

	function query($sql, $type = '') {
		global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

		$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
			'mysql_unbuffered_query' : 'mysql_query';
		if(!($query = $func($sql, $this->link))) {
			if(in_array($this->errno(), array(2006, 2013)) && substr($type, 0, 5) != 'RETRY') {
				$this->close();
				//require DISCUZ_ROOT.'./config.inc.php';
				$this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
				$this->query($sql, 'RETRY'.$type);
			} elseif($type != 'SILENT' && substr($type, 5) != 'SILENT') {
				$this->halt('MySQL Query Error', $sql);
			}
		}

		$this->querynum++;
		return $query;
	}

	function affected_rows() {
		return mysql_affected_rows($this->link);
	}

	function error() {
		return (($this->link) ? mysql_error($this->link) : mysql_error());
	}

	function errno() {
		return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
	}

	function result($query, $row) {
		$query = @mysql_result($query, $row);
		return $query;
	}

	function num_rows($query) {
		$query = mysql_num_rows($query);
		return $query;
	}

	function num_fields($query) {
		return mysql_num_fields($query);
	}

	function free_result($query) {
		return mysql_free_result($query);
	}

	function insert_id() {
		return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);
	}

	function fetch_row($query) {
		$query = mysql_fetch_row($query);
		return $query;
	}

	function fetch_fields($query) {
		return mysql_fetch_field($query);
	}

	function version() {
		return mysql_get_server_info($this->link);
	}

	function close() {
		return mysql_close($this->link);
	}
	
	function halt($message = '', $sql = '') {

		echo "error!";
		//define('CACHE_FORBIDDEN', TRUE);
		//include_once './mysql/db_mysql_error.inc.php';
	}
}

?>